#include <stdio.h>

int length(int n);
int Daffodil(int n);

int power_table[10][20] = {0}; // 假设最大位数不超过20

void init_power_table() {
    for (int i = 0; i < 10; i++) {
        for (int j = 1; j < 20; j++) {
            int power = 1;
            for (int k = 0; k < j; k++) {
                power *= i;
            }
            power_table[i][j] = power;
        }
    }
}

int main() {
    init_power_table();
    int a, n;
    scanf("%d,%d", &a, &n);
    for (int i = a; i <= n; i++) {
        if (Daffodil(i)) {
            printf("%d\n", i);
        }
    }
    return 0;
}

int length(int n) {
    if (n == 0) return 1;
    int len = 0;
    while (n) {
        len++;
        n /= 10;
    }
    return len;
}

int Daffodil(int n) {
    int original = n;
    int len = length(original);
    if (len == 1) {
        return 1; // 1位数都是水仙花数
    }
    int sum = 0;
    while (original) {
        int digit = original % 10;
        sum += power_table[digit][len];
        original /= 10;
    }
    return sum == n;
}